using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace  Hostal.Bussines.Entities
{
    public partial class Huesped
    {
        public Huesped()
        {
            this.Boletas = new List<Boleta>();
            this.CheckIns = new List<CheckIn>();
            this.CheckOuts = new List<CheckOut>();
            this.DetalleBoletas = new List<DetalleBoleta>();
            this.DetalleFacturas = new List<DetalleFactura>();
            this.Facturas = new List<Factura>();
            this.Reservas = new List<Reserva>();
        }

        public int IdHuesped { get; set; }

        [Required(ErrorMessage = "Ingrese un Nombre")]
        public string Nombres { get; set; }
        [Required(ErrorMessage = "Ingrese un Apellido")]
        public string Apellidos { get; set; }

        [Required(ErrorMessage = "Ingrese Dni")]
        [Range (100000,99999999, ErrorMessage = "El Dni Ingresado es incorrecto")]
        public string DNI { get; set; }

        [Required(ErrorMessage = "Ingrese una Procedencia")]
        public string Procedencia { get; set; }

        [Required(ErrorMessage = "Ingrese su Direccion")]
        public string Direccion { get; set; }

       
        public bool Sexo { get; set; }

        [Required(ErrorMessage = "Ingrese su Edad")]
        [Range (18, 100,ErrorMessage = "Edad Incorrecta")]
        public int Edad { get; set; }

        [Required(ErrorMessage = "Ingrese Celular")]
        [Range(100000000,999999999, ErrorMessage = "Celular Incorrecto")]
        public string Celular { get; set; }

        [Required( ErrorMessage = "Ingrese fecha de Nacimiento")]
        public System.DateTime FechaNacimiento { get; set; }
        public virtual ICollection<Boleta> Boletas { get; set; }
        public virtual ICollection<CheckIn> CheckIns { get; set; }
        public virtual ICollection<CheckOut> CheckOuts { get; set; }
        public virtual ICollection<DetalleBoleta> DetalleBoletas { get; set; }
        public virtual ICollection<DetalleFactura> DetalleFacturas { get; set; }
        public virtual ICollection<Factura> Facturas { get; set; }
        public virtual ICollection<Reserva> Reservas { get; set; }
    }
}
